1. Field of the Invention
The present disclosure relates generally to the field of data processing and installation of software. Specifically presented are systems and methods for automating technology integrations such as porting an enterprise-level application that connects to external technologies from one environment or “ecosystem” to another.
2. Description of the Related Art
A software application typically resides on a computer or set of computers. The computer hardware can be hooked to a network, such as an intranet or the Internet. The computer or set of computers, components, attached peripherals, and other hardware, along with their operating systems, applications, plug-ins, settings, connections, and other software, constitute what is sometimes called an “ecosystem.” A software application that functions properly in one ecosystem (e.g., a development environment or laboratory) may not work properly in another ecosystem (e.g., a production system or customer's office network). Among other things, small differences in available components or software settings may render a part of or the whole software application inoperable.
Often, it is important that a software application developed on one ecosystem (i.e., a source ecosystem) function properly in another ecosystem (i.e., a target ecosystem). Therefore, much time, labor, and planning effort has been spent attempting to ensure that applications are integrated and tested properly on target ecosystems. Retail applications, of which thousands or millions of copied are sold, are often distributed with a specially designed installation executable that installs the retail application to a target environment (e.g., a retail customer's PC). The specially designed executables are typically self-contained (versus referring to many libraries), patched fewer times, with shorter lifespans, and tested on many different source environments before distribution; however, their one-size-fits-all approach may not be suitable for mission critical, high-end applications. High-end applications, for which fewer copies are distributed, are more heavily integrated into their ecosystem and patched with many patches over decades of use. They are often cloned or copied from a specialized source environment to a target environment and then manually integrated with their ecosystem.
In cloning an application system, sometimes called a “source application system,” customers either manually or through the use of tools create a copy of the file system image. The new image's configuration files are re-configured or modified so as to be able to restart the technology and application machine processes, creating a new application instance, sometimes called a “target application system.” Then, the customer hires consultants to manually re-integrate the target application system with other applications and technologies external to the source application system with which the source system was integrated. Often, the consultants will scavenge or otherwise analyze the source environment in great detail to understand how the source application system interacts with the source environment before integration. Understanding how the source application system interacts with the source environment can help determine how to integrate the application system on the target environment. This process is sometimes called an “external integration” between the source application system and its application ecosystem.
Some enterprise level applications are written to interoperate with each other and are bundled in ‘suites.’ Such applications can include enterprise resource planning, customer relationship management, and supply-chain management applications, among other software applications. These applications can further be integrated with other applications, sometimes referred to as “external technologies.”
External technologies can include plug-ins and other software that are called from, referenced to, serviced by, or otherwise directly or indirectly connected to the application.
As many applications have become mission critical for businesses, it has become more and more important to ensure those applications are thoroughly integrated and tested. Such integrations typically require experienced, skilled, and knowledgeable information systems consultants who spend time and effort to understand the source and target environments. Consequently, costs have escalated for external integrations of mission critical software applications.